$(function () {
    init();
    function init() {
        mui.init({
            pullRefresh: {
                container: "#refreshContainer",//下拉刷新容器标识，querySelector能定位的css选择器均可，比如：id、.class等
                down: {
                    height: 50,//可选,默认50.触发下拉刷新拖动距离,
                    auto: true,//可选,默认false.首次加载自动下拉刷新一次
                    contentdown: "下拉可以刷新",//可选，在下拉可刷新状态时，下拉刷新控件上显示的标题内容
                    contentover: "释放立即刷新",//可选，在释放可刷新状态时，下拉刷新控件上显示的标题内容
                    contentrefresh: "正在刷新...",//可选，正在刷新状态时，下拉刷新控件上显示的标题内容
                    callback: function () {
                        queryCart(function (res) {
                            var html = template("cartTpl", { data: res });
                            $("#OA_task_2").html(html);
                            // 结束下拉刷新
                            mui('#refreshContainer').pullRefresh().endPulldownToRefresh();
                        })
                    }
                }
            }
        });
        //复选框点击事件
        $("#OA_task_2").on("change", ".chk_item", function (e) {
            var chkList = $("#OA_task_2 .chk_item:checked");
            var totalPrice = 0;
            for (var i = 0; i < chkList.length; i++) {
                var jsonObj = $(chkList[i]).parents(".mui-table-view-cell")[0].dataset.obj;
                var obj = JSON.parse(jsonObj);
                var price = obj.price;
                var num = obj.num;
                totalPrice += price * num;
            }
            $(".cart_rmb").html(totalPrice);
        })
        //删除
        $("#OA_task_2").on("tap", ".delBtn", function (e) {
            var that = this;
            mui.confirm("您确定要删除该商品吗", "删除商品", ["确定", "取消"], function (a) {
                if (a.index == 0) {
                    var jsonObj = $(that).parents(".mui-table-view-cell")[0].dataset.obj;
                    var obj = JSON.parse(jsonObj);
                    var id = obj.id;
                    deleteCart(id);
                }
                else if (a.index == 1) {
                    //否
                }
            })
        })
        //编辑
        $("#OA_task_2").on("tap", ".editBtn", function (e) {
            var that = this;
            var jsonObj = $(that).parents(".mui-table-view-cell")[0].dataset.obj;
            var obj = JSON.parse(jsonObj);
            obj.sizeArr = $.sizeFormat(obj.productSize);
            var html = template("editTpl", obj);
            html = html.replace(/\n/g, "");
            mui.confirm(html, "编辑商品", ["确定", "取消"], function (a) {
                if (a.index == 0) {
                    var updataObj = {
                        id: obj.id,
                        size: $(".pro_size span.active").html(),
                        num: $(".mui-numbox-input").val()
                    };
                    updateCart(updataObj);
                }
                else if (a.index == 1) {
                    //否
                }
            })
            // 初始化数字输入框
            mui(".mui-numbox").numbox();
        })

        // 点击尺码 要使用事件委托的方式 因为span标签是动态渲染
        $("body").on("tap", ".pro_size span", function () {
            $(this).addClass("active").siblings().removeClass("active");
        });
    }

    function queryCart(callback) {
        $.ltAjax({
            url: "/cart/queryCart",
            success: function (res) {
                callback && callback(res);
            }
        });
    }


    function deleteCart(id) {
        var arr = [id];
        var obj = { id: arr };
        $.ltAjax({
            url: "/cart/deleteCart",
            data: obj,
            success: function (res) {
                // 手动启用刷新组件
                mui("#refreshContainer").pullRefresh().pulldownLoading();
            }
        });
    }


    function updateCart(data) {
        $.ltAjax({
            url: "/cart/updateCart",
            type: "post",
            data: data,
            success: function (res) {
                if (res.success) {
                    // 手动启用刷新组件
                    mui("#refreshContainer").pullRefresh().pulldownLoading();
                }
                else {
                    mui.toast(res.message);
                }
            }
        });
    }
    template.helper("objToJson", function (value) {
        return JSON.stringify(value);
    })
})